const { student } = require('../models')

module.exports =  {
  /**
   * 新增一个同学
   * @return 成功时返回新增的同学，失败时返回失败信息
   */
  async add(ctx, next) {
    try {
      console.log(ctx.request.body)      
      let result = await student.create(ctx.request.body);
      return ctx.body = { status: 'ok', data: result };
    } catch (e) {
        return ctx.body = { status: 'fail', data: e.message };
    }
  },
  /**
   * 修改同学
   * @return 成功时返回学生信息，失败时返回失败信息
   */
  async update(ctx, next) {
    try {
        let result = await student.findByIdAndUpdate(ctx.params.id, ctx.request.body, {new : true}).exec();
        return ctx.body = { status: 'ok', data: result };
    } catch (e) {
        return ctx.body = { status: 'fail', data: e.message };
    }
  },
  /**
   * 根据id获取获取指定的学生
   * @return 成功时返回学生信息，否则返回错误信息
   */
  async getStudent(ctx, next) {
    try {
        let result = await student.findById(ctx.params.id).exec();
        return ctx.body = { status: 'ok', data: result }
    } catch (error) {
        return ctx.body = { status: 'fail', data: e.message }
    }
  }
}